Native Professional Utility, taken to implementation fidelity. List-first, container-free, hierarchy from type and hairlines, one elevated surface only where the product interrupts. This file carries foundations, the three dark master screens and component anatomy. Responsive, stress and legacy proof frames follow in a second file.
UI font is the platform system face — SF on iOS, Roboto on Android. No branded display face. Monospace is reserved for technical strings the daemon supplies verbatim.
Shape and a written label carry every state. Colour is confirmation, never the only signal.
Pulsing dots become static. The sheet cross-fades instead of sliding. The countdown still updates its number and bar — it is data, not decoration.
Scaffold owns safe-area insets and the bottom dock reservation. ContextBlock takes ordered lines and drops any it has no data for.
SessionRow is mark, title, preview, metadata and an optional StateAction. Only the highest-priority state renders an action.
ToolEvent is a hairline-bounded band, never a card. ComposerDock exposes its enabled state as text, not only as opacity.
Content is separated from presentation so the same approval can render in a sheet, a notification or a full screen without changing its safety contract.